#include <stdio.h>

int a = 10;
int b = 20;
int result;

// 编译指令：gcc -o globaltest.elf globaltest.c -no-pie

int main(void)
{
    // MUL执行无符号乘法，IMUL执行有符号乘法
    // MUL限定只有一个操作数，IMUL不限定
    asm (
        // "pusha\n\t"  // 64位模式不能使用pusha和popa指令，实质上也没必要
        "movl a, %eax\n\t"
        "movl b, %ebx\n\t"
        "imul %ebx, %eax\n\t"
        "movl %eax, result \n\t"
        // "popa"
    );
    printf("the answer is %d\n", result);
    return 0;
}